#ifndef     EXAMANSWER_AISINO
#define     EXAMANSWER_AISINO

#include    <map>
#include    <string>
#include    <vector>

class ExamAnswer
{
public:
    ExamAnswer();
    ~ExamAnswer();

public:
    static const std::string NO_ANSWER;

public:
    void showExamSolution();

public:
    bool setAnswer(unsigned int question_id,std::string answer);
    const std::string getSingleAnswer(unsigned int question_id);
    const std::string getMultipleAnswer(unsigned int question_id);

private:
    std::map<unsigned int,std::string> singleChoiceSolution;
    std::map<unsigned int,std::vector<std::string>> multipleChoiceSolution;

private:
    void initSingleChoiceSolution();
    void initMultipleChoiceSolution();

    void showSingleChoiceSolution();
    void showMultipleChoiceSolution();

    bool setSingleAnswer(unsigned int question_id,std::string answer);
    bool setMultipleAnswer(unsigned int question_id,std::string answer);

public:
    static const unsigned int SINGLE_CHOICE_NUMBER;
    static const unsigned int MULTIPLE_CHOICE_NUMBER;
};





#endif // EXAMANSWER_AISINO
